package pwd.allen.service.impl;

import org.apache.dubbo.rpc.RpcContext;
import pwd.allen.service.IHelloService;
import pwd.allen.service.entity.Pojo;

import java.util.Date;
import java.util.Map;

/**
 *
 * 将服务提供者注册到注册中心（暴露服务）
 *      1）、导入dubbo依赖和操作zookeeper的客户端
 *      2）、配置服务提供者
 *
 * @author 门那粒沙
 * @create 2019-10-03 17:04
 **/
public class HelloServiceImpl implements IHelloService {

    @Override
    public String sayHello(String name) {

        // 隐式参数，如果消费端设置了myParam，这里可以获取到
        String myParam = RpcContext.getContext().getAttachment("myParam");
        System.out.println("myParam=" + myParam);

        return "Hello!" + name;
    }

    @Override
    public Map getMap(Map<String, Object> map) {
        map.put("desc", "this is getMap");
        return map;
    }

    @Override
    public Pojo getPojo(Pojo pojo) {
        pojo.setDate(new Date());
        return pojo;
    }
}
